Initial configuration of network infrastructure such as routers and switches is typically a time consuming and manual process. This configuration process is often repeated when the network infrastructure fails. For example, a network administrator may spend an equal amount of time on the initial configuration of a particular switch and on subsequent configuration of a replacement switch when the particular switch fails.